{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import art"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Using TensorFlow backend.\n"
     ]
    }
   ],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline\n",
    "\n",
    "\n",
    "import tensorflow as tf\n",
    "import keras\n",
    "from keras.models import Sequential\n",
    "from keras.layers import Dense, Flatten, Conv2D, MaxPooling2D, Flatten, InputLayer, Reshape\n",
    "\n",
    "from art.estimators.classification import KerasClassifier\n",
    "\n",
    "tf.compat.v1.disable_eager_execution()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Prepare the dataset and the model architecture.\n",
    "\n",
    "import art\n",
    "from art.utils import load_mnist\n",
    "\n",
    "# Load the dataset, and split the test data into test and steal datasets.\n",
    "(x_train, y_train), (x_test0, y_test0), _, _ = load_mnist()\n",
    "len_steal = 5000\n",
    "indices = np.random.permutation(len(x_test0))\n",
    "x_steal = x_test0[indices[:len_steal]]\n",
    "y_steal = y_test0[indices[:len_steal]]\n",
    "x_test = x_test0[indices[len_steal:]]\n",
    "y_test = y_test0[indices[len_steal:]]\n",
    "\n",
    "im_shape = x_train[0].shape\n",
    "def get_model(num_classes=10, c1=32, c2=64, d1=128):\n",
    "    model = Sequential()\n",
    "    model.add(Conv2D(c1, kernel_size=(3, 3), activation='relu', input_shape=im_shape))\n",
    "    model.add(Conv2D(c2, (3, 3), activation='relu'))\n",
    "    model.add(MaxPooling2D(pool_size=(2, 2)))\n",
    "    model.add(Flatten())\n",
    "    model.add(Dense(d1, activation='relu'))\n",
    "    model.add(Dense(num_classes, activation='softmax'))\n",
    "    model.compile(loss=keras.losses.categorical_crossentropy, optimizer=\"sgd\",\n",
    "                          metrics=['accuracy'])\n",
    "    return model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "WARNING:tensorflow:From /home/taesung/projects/miniconda3/envs/artist/lib/python3.7/site-packages/tensorflow/python/ops/resource_variable_ops.py:1666: calling BaseResourceVariable.__init__ (from tensorflow.python.ops.resource_variable_ops) with constraint is deprecated and will be removed in a future version.\n",
      "Instructions for updating:\n",
      "If using Keras pass *_constraint arguments to layers.\n",
      "Original model training:\n",
      "Epoch 1/5\n",
      "60000/60000 [==============================] - 25s 422us/step - loss: 0.6260 - accuracy: 0.8253\n",
      "Epoch 2/5\n",
      "60000/60000 [==============================] - 48s 795us/step - loss: 0.2590 - accuracy: 0.9233\n",
      "Epoch 3/5\n",
      "60000/60000 [==============================] - 42s 703us/step - loss: 0.1985 - accuracy: 0.9414\n",
      "Epoch 4/5\n",
      "60000/60000 [==============================] - 45s 746us/step - loss: 0.1624 - accuracy: 0.9515\n",
      "Epoch 5/5\n",
      "60000/60000 [==============================] - 45s 743us/step - loss: 0.1385 - accuracy: 0.9577\n",
      "Original model evaluation:\n",
      "5000/5000 [==============================] - 5s 948us/step\n",
      "[0.13485618290305137, 0.9588000178337097]\n"
     ]
    }
   ],
   "source": [
    "# Train the original model.\n",
    "num_epochs = 5\n",
    "model = get_model(num_classes=10, c1=32, c2=64, d1=128)\n",
    "print(\"Original model training:\")\n",
    "model.fit(x_train, y_train, batch_size=100, epochs=num_epochs)\n",
    "print(\"Original model evaluation:\")\n",
    "print(model.evaluate(x_test, y_test))\n",
    "classifier_original = KerasClassifier(model, clip_values=(0, 1), use_logits=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 1/5\n",
      "3/3 [==============================] - 1s 180ms/step - loss: 2.3053 - accuracy: 0.0781\n",
      "Epoch 2/5\n",
      "3/3 [==============================] - 0s 72ms/step - loss: 2.2876 - accuracy: 0.1042\n",
      "Epoch 3/5\n",
      "3/3 [==============================] - 0s 85ms/step - loss: 2.2826 - accuracy: 0.1354\n",
      "Epoch 4/5\n",
      "3/3 [==============================] - 0s 71ms/step - loss: 2.2581 - accuracy: 0.2500\n",
      "Epoch 5/5\n",
      "3/3 [==============================] - 0s 67ms/step - loss: 2.2579 - accuracy: 0.1823\n",
      "9750/9750 [==============================] - 8s 824us/step\n",
      "Probabilistic CopycatCNN : 0.20676922798156738\n",
      "Epoch 1/5\n",
      "3/3 [==============================] - 1s 203ms/step - loss: 2.3053 - accuracy: 0.1146\n",
      "Epoch 2/5\n",
      "3/3 [==============================] - 0s 89ms/step - loss: 2.3025 - accuracy: 0.0729\n",
      "Epoch 3/5\n",
      "3/3 [==============================] - 0s 98ms/step - loss: 2.2912 - accuracy: 0.1510\n",
      "Epoch 4/5\n",
      "3/3 [==============================] - 0s 73ms/step - loss: 2.2739 - accuracy: 0.2240\n",
      "Epoch 5/5\n",
      "3/3 [==============================] - 0s 67ms/step - loss: 2.2711 - accuracy: 0.2396\n",
      "9750/9750 [==============================] - 7s 717us/step\n",
      "Argmax CopycatCNN : 0.18625640869140625\n",
      "9750/9750 [==============================] - 2s 211us/step\n",
      "Probabilistic KnockoffNets : 0.2379487156867981\n",
      "9750/9750 [==============================] - 3s 354us/step\n",
      "Argmax KnockoffNets : 0.15794871747493744\n",
      "Epoch 1/5\n",
      "7/7 [==============================] - 1s 115ms/step - loss: 2.2944 - accuracy: 0.1027\n",
      "Epoch 2/5\n",
      "7/7 [==============================] - 0s 69ms/step - loss: 2.2841 - accuracy: 0.0960\n",
      "Epoch 3/5\n",
      "7/7 [==============================] - 0s 67ms/step - loss: 2.2739 - accuracy: 0.1897\n",
      "Epoch 4/5\n",
      "7/7 [==============================] - 0s 70ms/step - loss: 2.2632 - accuracy: 0.1853\n",
      "Epoch 5/5\n",
      "7/7 [==============================] - 0s 64ms/step - loss: 2.2479 - accuracy: 0.2321\n",
      "9500/9500 [==============================] - 6s 669us/step\n",
      "Probabilistic CopycatCNN : 0.18336841464042664\n",
      "Epoch 1/5\n",
      "7/7 [==============================] - 1s 84ms/step - loss: 2.2880 - accuracy: 0.1875\n",
      "Epoch 2/5\n",
      "7/7 [==============================] - 0s 42ms/step - loss: 2.2688 - accuracy: 0.2277\n",
      "Epoch 3/5\n",
      "7/7 [==============================] - 1s 76ms/step - loss: 2.2358 - accuracy: 0.3393\n",
      "Epoch 4/5\n",
      "7/7 [==============================] - 0s 61ms/step - loss: 2.2130 - accuracy: 0.3705\n",
      "Epoch 5/5\n",
      "7/7 [==============================] - 0s 68ms/step - loss: 2.1719 - accuracy: 0.4665\n",
      "9500/9500 [==============================] - 5s 477us/step\n",
      "Argmax CopycatCNN : 0.386631578207016\n",
      "9500/9500 [==============================] - 2s 159us/step\n",
      "Probabilistic KnockoffNets : 0.3335789442062378\n",
      "9500/9500 [==============================] - 9s 936us/step\n",
      "Argmax KnockoffNets : 0.3183158040046692\n",
      "Epoch 1/5\n",
      "15/15 [==============================] - 1s 64ms/step - loss: 2.2761 - accuracy: 0.1094\n",
      "Epoch 2/5\n",
      "15/15 [==============================] - 1s 53ms/step - loss: 2.2057 - accuracy: 0.3792\n",
      "Epoch 3/5\n",
      "15/15 [==============================] - 1s 53ms/step - loss: 2.1147 - accuracy: 0.4802\n",
      "Epoch 4/5\n",
      "15/15 [==============================] - 1s 51ms/step - loss: 1.9677 - accuracy: 0.6125\n",
      "Epoch 5/5\n",
      "15/15 [==============================] - 1s 54ms/step - loss: 1.6985 - accuracy: 0.6896\n",
      "9000/9000 [==============================] - 2s 217us/step\n",
      "Probabilistic CopycatCNN : 0.7266666889190674\n",
      "Epoch 1/5\n",
      "15/15 [==============================] - 1s 77ms/step - loss: 2.2760 - accuracy: 0.2167\n",
      "Epoch 2/5\n",
      "15/15 [==============================] - 1s 51ms/step - loss: 2.2117 - accuracy: 0.3844\n",
      "Epoch 3/5\n",
      "15/15 [==============================] - 1s 58ms/step - loss: 2.1212 - accuracy: 0.5115\n",
      "Epoch 4/5\n",
      "15/15 [==============================] - 1s 48ms/step - loss: 1.9763 - accuracy: 0.5750\n",
      "Epoch 5/5\n",
      "15/15 [==============================] - 1s 50ms/step - loss: 1.7369 - accuracy: 0.6792\n",
      "9000/9000 [==============================] - 2s 205us/step\n",
      "Argmax CopycatCNN : 0.6539999842643738\n",
      "9000/9000 [==============================] - 4s 434us/step\n",
      "Probabilistic KnockoffNets : 0.7435555458068848\n",
      "9000/9000 [==============================] - 7s 770us/step\n",
      "Argmax KnockoffNets : 0.633222222328186\n",
      "Epoch 1/5\n",
      "31/31 [==============================] - 2s 76ms/step - loss: 2.2921 - accuracy: 0.1487\n",
      "Epoch 2/5\n",
      "31/31 [==============================] - 2s 68ms/step - loss: 2.2532 - accuracy: 0.2787\n",
      "Epoch 3/5\n",
      "31/31 [==============================] - 2s 64ms/step - loss: 2.1918 - accuracy: 0.4017\n",
      "Epoch 4/5\n",
      "31/31 [==============================] - 2s 62ms/step - loss: 2.0036 - accuracy: 0.6179\n",
      "Epoch 5/5\n",
      "31/31 [==============================] - 2s 56ms/step - loss: 1.4468 - accuracy: 0.7525\n",
      "8000/8000 [==============================] - 8s 996us/step\n",
      "Probabilistic CopycatCNN : 0.7837499976158142\n",
      "Epoch 1/5\n",
      "31/31 [==============================] - 3s 82ms/step - loss: 2.2754 - accuracy: 0.2324\n",
      "Epoch 2/5\n",
      "31/31 [==============================] - 2s 52ms/step - loss: 2.1951 - accuracy: 0.4078\n",
      "Epoch 3/5\n",
      "31/31 [==============================] - 1s 46ms/step - loss: 1.9594 - accuracy: 0.5892\n",
      "Epoch 4/5\n",
      "31/31 [==============================] - 2s 53ms/step - loss: 1.3464 - accuracy: 0.7303\n",
      "Epoch 5/5\n",
      "31/31 [==============================] - 1s 42ms/step - loss: 0.7091 - accuracy: 0.8357\n",
      "8000/8000 [==============================] - 6s 781us/step\n",
      "Argmax CopycatCNN : 0.8255000114440918\n",
      "8000/8000 [==============================] - 6s 808us/step\n",
      "Probabilistic KnockoffNets : 0.8393750190734863\n",
      "8000/8000 [==============================] - 7s 837us/step\n",
      "Argmax KnockoffNets : 0.840499997138977\n",
      "Epoch 1/5\n",
      "62/62 [==============================] - 5s 87ms/step - loss: 2.1787 - accuracy: 0.2603\n",
      "Epoch 2/5\n",
      "62/62 [==============================] - 5s 86ms/step - loss: 1.3672 - accuracy: 0.6782\n",
      "Epoch 3/5\n",
      "62/62 [==============================] - 4s 65ms/step - loss: 0.5705 - accuracy: 0.8569\n",
      "Epoch 4/5\n",
      "62/62 [==============================] - 3s 53ms/step - loss: 0.4178 - accuracy: 0.8954\n",
      "Epoch 5/5\n",
      "62/62 [==============================] - 4s 58ms/step - loss: 0.3780 - accuracy: 0.8982\n",
      "6000/6000 [==============================] - 7s 1ms/step\n",
      "Probabilistic CopycatCNN : 0.8924999833106995\n",
      "Epoch 1/5\n",
      "62/62 [==============================] - 5s 83ms/step - loss: 2.1723 - accuracy: 0.3007\n",
      "Epoch 2/5\n",
      "62/62 [==============================] - 5s 75ms/step - loss: 1.3383 - accuracy: 0.7140\n",
      "Epoch 3/5\n",
      "62/62 [==============================] - 5s 80ms/step - loss: 0.5329 - accuracy: 0.8579\n",
      "Epoch 4/5\n",
      "62/62 [==============================] - 5s 82ms/step - loss: 0.3467 - accuracy: 0.8964\n",
      "Epoch 5/5\n",
      "62/62 [==============================] - 5s 82ms/step - loss: 0.2916 - accuracy: 0.9060\n",
      "6000/6000 [==============================] - 6s 952us/step\n",
      "Argmax CopycatCNN : 0.8974999785423279\n",
      "6000/6000 [==============================] - 5s 768us/step\n",
      "Probabilistic KnockoffNets : 0.8961666822433472\n",
      "6000/6000 [==============================] - 2s 328us/step\n",
      "Argmax KnockoffNets : 0.8945000171661377\n",
      "Epoch 1/5\n",
      "78/78 [==============================] - 4s 56ms/step - loss: 2.0865 - accuracy: 0.4818\n",
      "Epoch 2/5\n",
      "78/78 [==============================] - 4s 46ms/step - loss: 0.8605 - accuracy: 0.8125\n",
      "Epoch 3/5\n",
      "78/78 [==============================] - 4s 52ms/step - loss: 0.4520 - accuracy: 0.8780\n",
      "Epoch 4/5\n",
      "78/78 [==============================] - 3s 40ms/step - loss: 0.3832 - accuracy: 0.9002\n",
      "Epoch 5/5\n",
      "78/78 [==============================] - 4s 47ms/step - loss: 0.3333 - accuracy: 0.9183\n",
      "5000/5000 [==============================] - 5s 912us/step\n",
      "Probabilistic CopycatCNN : 0.907800018787384\n",
      "Epoch 1/5\n",
      "78/78 [==============================] - 2s 27ms/step - loss: 2.2266 - accuracy: 0.3572\n",
      "Epoch 2/5\n",
      "78/78 [==============================] - 2s 28ms/step - loss: 1.4447 - accuracy: 0.7380\n",
      "Epoch 3/5\n",
      "78/78 [==============================] - 3s 42ms/step - loss: 0.5008 - accuracy: 0.8544\n",
      "Epoch 4/5\n",
      "78/78 [==============================] - 3s 44ms/step - loss: 0.3715 - accuracy: 0.8768\n",
      "Epoch 5/5\n",
      "78/78 [==============================] - 3s 40ms/step - loss: 0.2810 - accuracy: 0.9111\n",
      "5000/5000 [==============================] - 6s 1ms/step\n",
      "Argmax CopycatCNN : 0.9089999794960022\n",
      "5000/5000 [==============================] - 4s 860us/step\n",
      "Probabilistic KnockoffNets : 0.899399995803833\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "5000/5000 [==============================] - 6s 1ms/step\n",
      "Argmax KnockoffNets : 0.907800018787384\n"
     ]
    }
   ],
   "source": [
    "# Stealing from the unprotected classifier.\n",
    "from art.attacks import ExtractionAttack\n",
    "from art.attacks.extraction import CopycatCNN, KnockoffNets\n",
    "\n",
    "attack_catalogue = {\"Probabilistic CopycatCNN\": CopycatCNN(classifier=classifier_original,\n",
    "                                              batch_size_fit=64,\n",
    "                                              batch_size_query=64,\n",
    "                                              nb_epochs=num_epochs,\n",
    "                                              nb_stolen=len_steal,\n",
    "                                              use_probability=True),\n",
    "                    \"Argmax CopycatCNN\": CopycatCNN(classifier=classifier_original,\n",
    "                                              batch_size_fit=64,\n",
    "                                              batch_size_query=64,\n",
    "                                              nb_epochs=num_epochs,\n",
    "                                              nb_stolen=len_steal,\n",
    "                                              use_probability=False),\n",
    "                    \"Probabilistic KnockoffNets\": KnockoffNets(classifier=classifier_original,\n",
    "                                              batch_size_fit=64,\n",
    "                                              batch_size_query=64,\n",
    "                                              nb_epochs=num_epochs,\n",
    "                                              nb_stolen=len_steal,\n",
    "                                              use_probability=True),\n",
    "                    \"Argmax KnockoffNets\": KnockoffNets(classifier=classifier_original,\n",
    "                                              batch_size_fit=64,\n",
    "                                              batch_size_query=64,\n",
    "                                              nb_epochs=num_epochs,\n",
    "                                              nb_stolen=len_steal,\n",
    "                                              use_probability=False),\n",
    "                   }\n",
    "\n",
    "results = []\n",
    "for len_steal in [250, 500, 1000, 2000, 4000, 5000]:\n",
    "    indices = np.random.permutation(len(x_test0))\n",
    "    x_steal = x_test0[indices[:len_steal]]\n",
    "    y_steal = y_test0[indices[:len_steal]]\n",
    "    x_test = x_test0[indices[len_steal:]]\n",
    "    y_test = y_test0[indices[len_steal:]]\n",
    "\n",
    "    for name, attack in attack_catalogue.items():\n",
    "        model_stolen = get_model(num_classes=10, c1=32, c2=64, d1=128)\n",
    "        classifier_stolen = KerasClassifier(model_stolen, clip_values=(0, 1), use_logits=False)\n",
    "        classifier_stolen = attack.extract(x_steal, y_steal, thieved_classifier=classifier_stolen)\n",
    "        acc = classifier_stolen._model.evaluate(x_test, y_test)[1]\n",
    "        print(name, \":\", acc)\n",
    "        results.append((name, len_steal, acc))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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ObAeyvZA/Kl1pYPM1CaEODaj0cioUaOIj4/nqquuck6C0h4LFizgzjvvPKHPa76kaHOPPfYY33//PdByWdBLLrnkmHOHP//88y1iPl77I3399dckJiYSGxvL6NGjWywh2hWO/D7V1dX85je/YdCgQYwdO5bJkyezZs0agGMuefr444/j7e1NYWGhc39b5/5UuPJKPBnI0Vrv1lo3Au8DLcq8tdYrtNZNZysNiHJhPEfp69+XP4z7A7GWv+FTfQXljcX87n+/4+KVt/NGYCDlA84+6WNnlWThafSUojYhxDF5eXmxceNGtm7diru7u3PykSadtQzpk08+yfnnn3/U9q+++orAwMA233dk0jte++a2bt3KnXfeybvvvktWVhYZGRkMHjz4REPvUEd+n1//+tcEBweTnZ3NunXreOutt5yTxxxvydPQ0FD+8Y9/uDReVybxPkDzeeryHNva8ivg69Z2KKVuVUplKKUyioqKOjBEaLBYydhTx0VRV/PlFV/y4rkv0K++jueD/Lngy6t5fPXjZJdln/Bxs0qyGBo8FDeD3MUnhGifs88+m5ycnKOWIW1rSU6A/fv3M3nyZGJiYnjiiSec2y+//HLGjh1LXFwcr732WovPuffee4mLi2PKlCk0/U6dN2+ecxnR5vr3709xcTE1NTVMmzaNkSNHEh8fzwcffMCLL77IwYMHOffcc50LsjS1B/tscE2ztl1//fVHHfvZZ5/lkUcecc4eZzQauf322wHIzc3lvPPOY8SIEUyZMoV9+/Y547zttttITExkyJAhfPHFFwDOFdKaTJw4kU2bNlFdXe08dyNGjGDJkiUA3H777SQmJhIXF8cf//hHgKO+z65du1izZg1PPfUUBoM9XQ4YMIBp06YBx17yFODmm2/mgw8+aDG1bEc7LTKMUuo6IBGY1Np+rfVrwGtgn7GtIz973d4y6s02JsaEYTQYOdcYwLl5+9h54eMsooIvdn/BkuwljIscx7XDr+WcqHOOW21utVnZVrqNywdf3pGhCiFc6K9r/8r20u0desxhwcN4MLntucibs1gsfP3110ydOhVouQxpW0tyAqxdu5atW7fi7e1NUlIS06ZNIzExkTfffJPg4GDq6upISkpi5syZhISEUFNTQ2JiIs899xxPPvkkTzzxBP/617+OG98333xD7969+fJL++yVFRUVBAQE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DGzevNnZPj4+ntzc3GMe88jz09EkiWcuBZMPxFzY1ZEIIXqgnrwUaROtNbfddhtms5nXX3+93VPBdrRPP/2UWbNmsWHDBgYNGsS///1vvvvuO+dseVFRUTz99NMndExJ4q5ktcC2Zfbbyty9uzoaIUQP19OWIm0yf/58SkpKePvtt533ePv6+vLII484F3EpKCgA2l6itKCggCuuuIKRI0cycuRIVq9e3eIzdu/ezejRo0lPT2fjxo2kpKQwYsQIrrjiCsrKyvjqq694/vnneeWVVzj33HO57bbb2L17NxdffLFzqdHp06eTmZnJjh07jvoO3377LePHj2fMmDFcddVVVFdXH3V+rFYr8+bNIz4+noSEhDaXMD0RPfs+8dyfoLZEutKFEOQ/8wwN2zp2KVKP4cOI/MMf2tW2Jy5FCvb524cPH87KlStxczuckmpqakhJSeHpp5/m97//Pf/973959NFH21yidP78+UyaNImlS5ditVqprq52Lju6Y8cOZs+ezYIFCxg5ciQjRozgpZdeYtKkSTz22GM88cQTPP/889x22234+vryu9/9zvmdm75bU3f673//e5555hkWLlzojLW4uJinnnqK77//Hh8fH/7617/yz3/+k8cee6zF+Vm3bh0HDhxg69atAO0edjiWnn0lbrNC33Ew+OguJCGE6Aw9fSnSMWPGsHfvXtauXdtiu7u7O9OnTwfsc6I3jT23tUTpjz/+yO233w7Y6wya4isqKuKyyy7jvffeY+TIkVRUVFBeXs6kSZMAuPHGG/npp5/adQ4A5s6dS1paGnv27HFuS0tLIysriwkTJjBq1CgWLlzI3r17j3rvwIED2b17N3fddRfffPMN/v7+7f7ctvTsK/GYC+wPIUSP194r5o7Wk5ciBft/Sp588kmuvvpqli9fTlxcHAAmk8kZm9FoPOnagICAAKKjo1m1ahWxsae+PLSbmxv3338/f/3rX53btNZccMEFLF68+JjvDQoKYtOmTSxfvpxXX32VDz/8kDfffPOU4unZV+JCCNENnKlLkTY566yzeOWVV5g+fbpzjPtYbVtbonTKlCm88sorAFitVioqKgD7Ff3SpUt5++23WbRoEQEBAQQFBfHzzz8D8M477zivyttr3rx5fP/99856gpSUFH755RdycnIA+1BAU09J8/NTXFyMzWZj5syZPPXU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\n",
      "text/plain": [
       "<Figure size 576x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import pandas as pd\n",
    "df = pd.DataFrame(results, columns=('Method Name', 'Stealing Dataset Size', 'Accuracy'))\n",
    "fig, ax = plt.subplots(figsize=(8,6))\n",
    "ax.set_xlabel(\"Stealing Dataset Size\")\n",
    "ax.set_ylabel(\"Stolen Model Accuracy\")\n",
    "for name, group in df.groupby(\"Method Name\"):\n",
    "    group.plot(1, 2, ax=ax, label=name)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Prepare the defense layer.\n",
    "from art.defences.postprocessor import ReverseSigmoid\n",
    "postprocessor = ReverseSigmoid(beta=1.0, gamma=0.2)\n",
    "classifier_protected = KerasClassifier(model, clip_values=(0, 1), use_logits=False, postprocessing_defences=postprocessor)\n",
    "\n",
    "# Below is used by `FunctionallyEquivalentExtraction`.\n",
    "model_flat = Sequential([InputLayer([784]), Reshape([28, 28, 1]), model])\n",
    "model_flat.compile('sgd', 'categorical_crossentropy', ['accuracy'])\n",
    "classifier_flat_protected = KerasClassifier(model_flat, clip_values=(0, 1), use_logits=False, postprocessing_defences=postprocessor)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 1/5\n",
      "3/3 [==============================] - 1s 241ms/step - loss: 2.3037 - accuracy: 0.1406\n",
      "Epoch 2/5\n",
      "3/3 [==============================] - 0s 90ms/step - loss: 2.3032 - accuracy: 0.1250\n",
      "Epoch 3/5\n",
      "3/3 [==============================] - 0s 79ms/step - loss: 2.3027 - accuracy: 0.1042\n",
      "Epoch 4/5\n",
      "3/3 [==============================] - 0s 65ms/step - loss: 2.3033 - accuracy: 0.0625\n",
      "Epoch 5/5\n",
      "3/3 [==============================] - 0s 70ms/step - loss: 2.3019 - accuracy: 0.1302\n",
      "9750/9750 [==============================] - 11s 1ms/step\n",
      "Probabilistic CopycatCNN (vs. Protected) : 0.13661538064479828\n",
      "Epoch 1/5\n",
      "3/3 [==============================] - 1s 260ms/step - loss: 2.2951 - accuracy: 0.1250\n",
      "Epoch 2/5\n",
      "3/3 [==============================] - 0s 99ms/step - loss: 2.2878 - accuracy: 0.1042\n",
      "Epoch 3/5\n",
      "3/3 [==============================] - 0s 88ms/step - loss: 2.2858 - accuracy: 0.1406\n",
      "Epoch 4/5\n",
      "3/3 [==============================] - 0s 100ms/step - loss: 2.2800 - accuracy: 0.1927\n",
      "Epoch 5/5\n",
      "3/3 [==============================] - 0s 86ms/step - loss: 2.2798 - accuracy: 0.1823\n",
      "9750/9750 [==============================] - 8s 834us/step\n",
      "Argmax CopycatCNN (vs. Protected) : 0.20625640451908112\n",
      "9750/9750 [==============================] - 10s 1ms/step\n",
      "Probabilistic KnockoffNets (vs. Protected) : 0.15466666221618652\n",
      "9750/9750 [==============================] - 6s 606us/step\n",
      "Argmax KnockoffNets (vs. Protected) : 0.16994871199131012\n",
      "Epoch 1/5\n",
      "7/7 [==============================] - 1s 102ms/step - loss: 2.3030 - accuracy: 0.1228\n",
      "Epoch 2/5\n",
      "7/7 [==============================] - 0s 35ms/step - loss: 2.3028 - accuracy: 0.1049\n",
      "Epoch 3/5\n",
      "7/7 [==============================] - 0s 32ms/step - loss: 2.3019 - accuracy: 0.1406\n",
      "Epoch 4/5\n",
      "7/7 [==============================] - 0s 29ms/step - loss: 2.3018 - accuracy: 0.1027\n",
      "Epoch 5/5\n",
      "7/7 [==============================] - 0s 42ms/step - loss: 2.3018 - accuracy: 0.1161\n",
      "9500/9500 [==============================] - 10s 1ms/step\n",
      "Probabilistic CopycatCNN (vs. Protected) : 0.130736842751503\n",
      "Epoch 1/5\n",
      "7/7 [==============================] - 1s 131ms/step - loss: 2.3048 - accuracy: 0.0670\n",
      "Epoch 2/5\n",
      "7/7 [==============================] - 0s 70ms/step - loss: 2.2907 - accuracy: 0.1562\n",
      "Epoch 3/5\n",
      "7/7 [==============================] - 0s 54ms/step - loss: 2.2770 - accuracy: 0.2054\n",
      "Epoch 4/5\n",
      "7/7 [==============================] - 0s 45ms/step - loss: 2.2678 - accuracy: 0.2098\n",
      "Epoch 5/5\n",
      "7/7 [==============================] - 0s 45ms/step - loss: 2.2424 - accuracy: 0.2812\n",
      "9500/9500 [==============================] - 9s 981us/step\n",
      "Argmax CopycatCNN (vs. Protected) : 0.19547368586063385\n",
      "9500/9500 [==============================] - 2s 243us/step\n",
      "Probabilistic KnockoffNets (vs. Protected) : 0.12294736504554749\n",
      "9500/9500 [==============================] - 7s 769us/step\n",
      "Argmax KnockoffNets (vs. Protected) : 0.3623158037662506\n",
      "Epoch 1/5\n",
      "15/15 [==============================] - 1s 59ms/step - loss: 2.3048 - accuracy: 0.1031\n",
      "Epoch 2/5\n",
      "15/15 [==============================] - 0s 24ms/step - loss: 2.3038 - accuracy: 0.1562\n",
      "Epoch 3/5\n",
      "15/15 [==============================] - 0s 24ms/step - loss: 2.3029 - accuracy: 0.1510\n",
      "Epoch 4/5\n",
      "15/15 [==============================] - 0s 23ms/step - loss: 2.3022 - accuracy: 0.1667\n",
      "Epoch 5/5\n",
      "15/15 [==============================] - 0s 26ms/step - loss: 2.3015 - accuracy: 0.1708\n",
      "9000/9000 [==============================] - 1s 153us/step\n",
      "Probabilistic CopycatCNN (vs. Protected) : 0.13233333826065063\n",
      "Epoch 1/5\n",
      "15/15 [==============================] - 2s 107ms/step - loss: 2.2765 - accuracy: 0.1917\n",
      "Epoch 2/5\n",
      "15/15 [==============================] - 1s 62ms/step - loss: 2.2332 - accuracy: 0.3552\n",
      "Epoch 3/5\n",
      "15/15 [==============================] - 1s 60ms/step - loss: 2.1739 - accuracy: 0.4656\n",
      "Epoch 4/5\n",
      "15/15 [==============================] - 1s 58ms/step - loss: 2.0710 - accuracy: 0.5240\n",
      "Epoch 5/5\n",
      "15/15 [==============================] - 1s 69ms/step - loss: 1.9103 - accuracy: 0.5958\n",
      "9000/9000 [==============================] - 8s 883us/step\n",
      "Argmax CopycatCNN (vs. Protected) : 0.6140000224113464\n",
      "9000/9000 [==============================] - 9s 1ms/step\n",
      "Probabilistic KnockoffNets (vs. Protected) : 0.16866666078567505\n",
      "9000/9000 [==============================] - 6s 701us/step\n",
      "Argmax KnockoffNets (vs. Protected) : 0.6237778067588806\n",
      "Epoch 1/5\n",
      "31/31 [==============================] - 1s 46ms/step - loss: 2.3040 - accuracy: 0.1028\n",
      "Epoch 2/5\n",
      "31/31 [==============================] - 1s 29ms/step - loss: 2.3022 - accuracy: 0.1290\n",
      "Epoch 3/5\n",
      "31/31 [==============================] - 1s 24ms/step - loss: 2.3012 - accuracy: 0.1502\n",
      "Epoch 4/5\n",
      "31/31 [==============================] - 1s 33ms/step - loss: 2.3005 - accuracy: 0.1840\n",
      "Epoch 5/5\n",
      "31/31 [==============================] - 2s 52ms/step - loss: 2.3003 - accuracy: 0.1845\n",
      "8000/8000 [==============================] - 8s 1ms/step\n",
      "Probabilistic CopycatCNN (vs. Protected) : 0.18937499821186066\n",
      "Epoch 1/5\n",
      "31/31 [==============================] - 2s 80ms/step - loss: 2.2497 - accuracy: 0.1663\n",
      "Epoch 2/5\n",
      "31/31 [==============================] - 2s 55ms/step - loss: 2.0826 - accuracy: 0.5242\n",
      "Epoch 3/5\n",
      "31/31 [==============================] - 2s 60ms/step - loss: 1.6551 - accuracy: 0.6951\n",
      "Epoch 4/5\n",
      "31/31 [==============================] - 2s 60ms/step - loss: 0.9703 - accuracy: 0.7954\n",
      "Epoch 5/5\n",
      "31/31 [==============================] - 2s 54ms/step - loss: 0.6115 - accuracy: 0.8473\n",
      "8000/8000 [==============================] - 8s 991us/step\n",
      "Argmax CopycatCNN (vs. Protected) : 0.8396250009536743\n",
      "8000/8000 [==============================] - 8s 1ms/step\n",
      "Probabilistic KnockoffNets (vs. Protected) : 0.15462499856948853\n",
      "8000/8000 [==============================] - 9s 1ms/step\n",
      "Argmax KnockoffNets (vs. Protected) : 0.8478749990463257\n",
      "Epoch 1/5\n",
      "62/62 [==============================] - 4s 65ms/step - loss: 2.3031 - accuracy: 0.1520\n",
      "Epoch 2/5\n",
      "62/62 [==============================] - 4s 61ms/step - loss: 2.3008 - accuracy: 0.2258\n",
      "Epoch 3/5\n",
      "62/62 [==============================] - 4s 66ms/step - loss: 2.2998 - accuracy: 0.2445\n",
      "Epoch 4/5\n",
      "62/62 [==============================] - 3s 49ms/step - loss: 2.2991 - accuracy: 0.2608\n",
      "Epoch 5/5\n",
      "62/62 [==============================] - 3s 43ms/step - loss: 2.2986 - accuracy: 0.2618\n",
      "6000/6000 [==============================] - 6s 936us/step\n",
      "Probabilistic CopycatCNN (vs. Protected) : 0.25099998712539673\n",
      "Epoch 1/5\n",
      "62/62 [==============================] - 2s 40ms/step - loss: 2.1022 - accuracy: 0.4713\n",
      "Epoch 2/5\n",
      "62/62 [==============================] - 2s 37ms/step - loss: 1.0095 - accuracy: 0.7986\n",
      "Epoch 3/5\n",
      "62/62 [==============================] - 2s 39ms/step - loss: 0.4557 - accuracy: 0.8773\n",
      "Epoch 4/5\n",
      "62/62 [==============================] - 5s 78ms/step - loss: 0.3785 - accuracy: 0.8926\n",
      "Epoch 5/5\n",
      "62/62 [==============================] - 4s 67ms/step - loss: 0.2921 - accuracy: 0.9224\n",
      "6000/6000 [==============================] - 8s 1ms/step\n",
      "Argmax CopycatCNN (vs. Protected) : 0.8939999938011169\n",
      "6000/6000 [==============================] - 6s 1ms/step\n",
      "Probabilistic KnockoffNets (vs. Protected) : 0.19316667318344116\n",
      "6000/6000 [==============================] - 4s 596us/step\n",
      "Argmax KnockoffNets (vs. Protected) : 0.8816666603088379\n",
      "Epoch 1/5\n",
      "78/78 [==============================] - 6s 82ms/step - loss: 2.3029 - accuracy: 0.0665\n",
      "Epoch 2/5\n",
      "78/78 [==============================] - 6s 74ms/step - loss: 2.3007 - accuracy: 0.1094\n",
      "Epoch 3/5\n",
      "78/78 [==============================] - 4s 45ms/step - loss: 2.2999 - accuracy: 0.1689\n",
      "Epoch 4/5\n",
      "78/78 [==============================] - 4s 51ms/step - loss: 2.2992 - accuracy: 0.1917\n",
      "Epoch 5/5\n",
      "78/78 [==============================] - 5s 64ms/step - loss: 2.2990 - accuracy: 0.1911\n",
      "5000/5000 [==============================] - 5s 1ms/step\n",
      "Probabilistic CopycatCNN (vs. Protected) : 0.1995999962091446\n",
      "Epoch 1/5\n",
      "78/78 [==============================] - 7s 85ms/step - loss: 2.1410 - accuracy: 0.4367\n",
      "Epoch 2/5\n",
      "78/78 [==============================] - 7s 89ms/step - loss: 0.9765 - accuracy: 0.8085\n",
      "Epoch 3/5\n",
      "78/78 [==============================] - 6s 82ms/step - loss: 0.4159 - accuracy: 0.8822\n",
      "Epoch 4/5\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "78/78 [==============================] - 5s 66ms/step - loss: 0.3161 - accuracy: 0.9133\n",
      "Epoch 5/5\n",
      "78/78 [==============================] - 5s 59ms/step - loss: 0.3117 - accuracy: 0.9109\n",
      "5000/5000 [==============================] - 5s 1ms/step\n",
      "Argmax CopycatCNN (vs. Protected) : 0.8989999890327454\n",
      "5000/5000 [==============================] - 6s 1ms/step\n",
      "Probabilistic KnockoffNets (vs. Protected) : 0.2712000012397766\n",
      "5000/5000 [==============================] - 2s 353us/step\n",
      "Argmax KnockoffNets (vs. Protected) : 0.8813999891281128\n"
     ]
    }
   ],
   "source": [
    "# Stealing from the protected classifier.\n",
    "\n",
    "attack_catalogue = {\n",
    "                    \"Probabilistic CopycatCNN (vs. Protected)\": CopycatCNN(classifier=classifier_protected,\n",
    "                                              batch_size_fit=64,\n",
    "                                              batch_size_query=64,\n",
    "                                              nb_epochs=num_epochs,\n",
    "                                              nb_stolen=len_steal,\n",
    "                                              use_probability=True),\n",
    "                    \"Argmax CopycatCNN (vs. Protected)\": CopycatCNN(classifier=classifier_protected,\n",
    "                                              batch_size_fit=64,\n",
    "                                              batch_size_query=64,\n",
    "                                              nb_epochs=num_epochs,\n",
    "                                              nb_stolen=len_steal,\n",
    "                                              use_probability=False),\n",
    "                    \"Probabilistic KnockoffNets (vs. Protected)\": KnockoffNets(classifier=classifier_protected,\n",
    "                                              batch_size_fit=64,\n",
    "                                              batch_size_query=64,\n",
    "                                              nb_epochs=num_epochs,\n",
    "                                              nb_stolen=len_steal,\n",
    "                                              use_probability=True),\n",
    "                    \"Argmax KnockoffNets (vs. Protected)\": KnockoffNets(classifier=classifier_protected,\n",
    "                                              batch_size_fit=64,\n",
    "                                              batch_size_query=64,\n",
    "                                              nb_epochs=num_epochs,\n",
    "                                              nb_stolen=len_steal,\n",
    "                                              use_probability=False),\n",
    "#                     \"FunctionallyEquivalentExtraction\": FunctionallyEquivalentExtraction(classifier=classifier_flat_protected,\n",
    "#                                               num_neurons=128),  # This one takes too long time for this dataset/model.\n",
    "                    }\n",
    "\n",
    "results_protected = []\n",
    "for len_steal in [250, 500, 1000, 2000, 4000, 5000]:\n",
    "    indices = np.random.permutation(len(x_test0))\n",
    "    x_steal = x_test0[indices[:len_steal]]\n",
    "    y_steal = y_test0[indices[:len_steal]]\n",
    "    x_test = x_test0[indices[len_steal:]]\n",
    "    y_test = y_test0[indices[len_steal:]]\n",
    "\n",
    "    for name, attack in attack_catalogue.items():\n",
    "        model_stolen = get_model(num_classes=10, c1=32, c2=64, d1=128)\n",
    "        classifier_stolen = KerasClassifier(model_stolen, clip_values=(0, 1), use_logits=False)\n",
    "        if name==\"FunctionallyEquivalentExtraction\":\n",
    "            classifier_stolen = attack.extract(np.reshape(x_steal, [len(x_steal), -1]), y_steal, thieved_classifier=classifier_stolen)\n",
    "        else:\n",
    "            classifier_stolen = attack.extract(x_steal, y_steal, thieved_classifier=classifier_stolen)\n",
    "        \n",
    "        acc = classifier_stolen._model.evaluate(x_test, y_test)[1]\n",
    "        print(name, \":\", acc)\n",
    "        results_protected.append((name, len_steal, acc))\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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Tp48yfjx4+nSpQt9+vRhxIgR7N27t97Ks2rVKv74449S+7744gvCwsIIDw8nOjqaV199FYDJkyfTtm1b8vPzAUhJSaFjx44AHDp0CKUU77zzjvU6U6dOZdasWRW+75tvvskXX3xRZ5/j0KFDuLu7ExUVRWhoKPfccw9ms9nm11d0H6rj5ZdfrvZrZs2axdSpUwF49913mTmz8YQ4W/6SR5Sct21ZXS3abiUSdSc3DbbNhfCx4OHP8fRcDqSclaZ0YXezZ89m4MCBzJ49u8LjRUVFF7hEpWmtue666xg8eDD79+9n06ZN/Otf/+LUqVP1VqaywevXX3/lzTffZMmSJWzfvp2//voLHx8f63FHR8dKg01wcDBvvfUWBQVVp7koKipi5syZTJxYduJQ7XTp0oWEhAS2bdvGrl27mD9/frn3rUx9BPGSpkyZUuoLUENnSxB3UEpZ216VUv5Uc1S7qCdbvoLCHOh7NwDr9qUAMKirzLUX9pOdnc3atWv59NNPmTNnjnX/qlWrGDRoEKNHjyY0NBSz2cx9991Hjx49GDZsGCNGjGDevHkAdOzYkSeffJKoqChiYmLYvHkzV155JV26dOGDDz6wvs/QoUPp3bs34eHh/PTTTwBs3LiRiIgI8vLyOHv2LL169WLHjh2lyrhy5UqcnZ255557rPsiIyMZNGgQWmsef/xxaw147ty51vJfcskljBw5ku7du1trmDNnzuShhx6yXufjjz/m4YcfBoyadEREBJGRkdx8880A/Pzzz/Tt25fo6Gguv/xyTp06xaFDh/jggw944403iIqKYs2aNfzrX//i1VdfpU2bNgC4urpy5513Wt/noYce4o033qgwIAYFBTF06FA+//zzKv+tVqxYQe/evXFycmL37t3ExcVZjx06dIjw8HAApk2bRmhoKBERETz22GNVXrMkJycn+vfvT2JiIrNmzWL06NEMGTKEoUOHcubMGa699loiIiLo168f27Ztq/A+JCcnM2bMGGJjY4mNjWXdunWA8e9/2223ER4eTkREBN9//z3Tpk0jNzeXqKgoJk2aBMBXX31FXFwcUVFR3H333ZhMJgA+++wzunXrRlxcnPWaAB4eHnTs2JENGzbY/Dnrky3B+DXgT6XUd5bnY4GX7FckUSfMJtjwMXQYAK2MX8S1iSkEerrSraVnPRdOXAjP/byTXSds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t80lb26Kp5WFXlvpKWv3pdDK240uQZJ6VMB/NvyH3Wdqv651ST38e/BEXOVrkZdUVFTEr7/+as1PXTINaWUpOQE2bNjAjh078PDwIDY2lpEjRxITE8PMmTPx9/cnNzeX2NhYxowZQ0BAAGfPniUmJoY33niD559/nueee4533333vOX77bffaNOmDQsXLgSMtdh9fHx4/fXXWblypTUjVrGdO3eWS3dZ1o4dOyptPr///vu59dZbufXWW5k5cyYPPPAA8+fPB4wAv2HDBvbv389ll11GYmIit99+O7NmzeLNN99k79695OXlERkZyRNPPIGPjw/btxtpZoubaF966SX8/f0xmUwMHTqUbdu28cADD5T6PAsWLCAqKqrKxCOVpTwFo/l8ypQpvPXWW6W+YJW1bt06PvzwQ8BYf/2hhx7iH//4B2BkRFu8eDHffPMNV155JU8//TQmk6lateT169fj4OBgzbpWUFBAfHw8eXl5dO3aleXLl9OtWzduueUW3n//fR566KFS9yElJYUXX3yRZcuW0aJFC/7zn//w+uuvM23aNMaNG8fcuXOJjY0lMzMTDw8Pnn/+eeLj463/r5566imGDBnCzJkzSU9PJy4ujssvv5wPP/wQDw8P/v77b7Zt20bv3r2tZfbz8yM/P5/U1NRSiWdqy5aO04eBVUqpVUqp34GVwIPne5HWugiYCizGCM7faq13KqWeV0oVT3B+QCm1Uym1FXgAmFyTD9Hkpe6HfUugz20VTisDI/Xouv0pDJDUo6Ke5ebmEhUVRUxMDO3bt+f2228HyqchrSwl57BhwwgICMDd3Z3rr7+etWvXAkatMjIykn79+nH06FH27dsHGNnIxo0bB8BNN91kPf98wsPDWbp0KU888QRr1qw577rttqS7rMqff/7JxIlGPebmm28uVc4bb7wRBwcHunbtSufOndm9ezdjx47ll19+obCwkJkzZzJ58mTASD1aHBAB62pi3377Lb179yY6OpqdO3eya1fNxhBXlvK02AMPPMDnn39eKjFJWWfOnMHLywuA6OhoTp8+zYkTJ9i6dSt+fn60a9eO2NhYPvvsM2bMmMH27dut51fljTfeICoqiscee4y5c+da/9YV//vv2bOHTp060a1bNwBuvfVWVq9eXe46f/31F7t27WLAgAFERUXx+eefc/jwYfbs2UPr1q2J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\n",
      "text/plain": [
       "<Figure size 576x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import pandas as pd\n",
    "df_protected = pd.DataFrame(results_protected, columns=('Method Name', 'Stealing Dataset Size', 'Accuracy'))\n",
    "fig, ax = plt.subplots(figsize=(8,6))\n",
    "ax.set_xlabel(\"Stealing Dataset Size\")\n",
    "ax.set_ylabel(\"Stolen Model Accuracy\")\n",
    "for name, group in df_protected.groupby(\"Method Name\"):\n",
    "    group.plot(1, 2, ax=ax, label=name)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "df_combined = pd.concat([df, df_protected])\n",
    "groupby = df_combined.groupby(\"Method Name\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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zWpxWE64vX1HjhzJihUrWLBgAV/72tc4++yzefDBB8N6b0vGjRvH8uXLmTRp0jG9r7nvnJSUxLnnnstf//pX/vjHP7J8+fIW379lyxYeffRRli5dSu/evbnhhhuavT7jxo1j1apV1NTUtNoav/POOzn55JO58cYbj9iXnp7O1VdfzZNPPnkM31BEOovqmlpKK6opOVRJsLyKkvIqSsurKDlU5a37fwbLKxutl5RXUVld2+hcKYlxrH7ovHaJO2JJ3MxigSeBc4EAsNTM5jvnQptKjwJPO+d+a2azgf8Fjnzo2kWcfvrp/OEPf2D27Nls2LCB7du3M2rUKFasWMFrr71GcXExPXv25KWXXmLevHkUFhbSu3dvkpKSWL9+PYsWLao/V21tLS+++CJXXnklzzzzDKeddlpYMezcuZOMjAyuueYa0tPT+dWvfgVASkoKZWVlR9xOnz17Np/85Ce5++67yczMpLi4+IjW+L333stll13GaaedxsiRI6mtrWXu3LnccsstnHLKKTz33HNce+21/OEPf+D000+vf98LL7zA9ddfz5YtW9i8eTOjRo0CvE5on/jEJzj99NPrW9znnnsuTz75JI8//jjg3U4vLS2lV69epKWl8dFHH/GPf/yDWbNmHfF9hg8fTl5eHt/4xjf41re+hZmxdetW1q5dW/9cHLy7DJ/5zGf49a9/zZw5c464dnfffTfTpk1rt06KInJsnHMcOFwdknCbJuBmkvAhL1mXHW7957pXQizpSQmk9ownvWc8w/skk54UT1rPeNL8P9N7Jnh/JrXfTISRbInnAxudc5sBzOw54BIgNImPBe72X78BvBTBeKLuC1/4ArfeeisTJkwgLi6Op556ih49egDebfdPfepTBAIBrrnmGvLy8pgwYQI///nPGTNmDKNGjWLGjBn15+rVqxdLlizhkUceoW/fvjz//PNhxbB69WruvfdeYmJiiI+P52c/+xkAN998M+effz4DBw5s1OFu3LhxPPDAA5x55pnExsYyZcoUnnrqqUbnnDhxIo8//jhXXXUVhw4dwsy46KKLAPjxj3/MjTfeyPe//3369OnDb37zm/r3DRkyhPz8fEpLS/n5z39OYmIiAFOnTiU1NbVRi/hrX/saX/ziFxk/fjyxsbF84xvf4LLLLmPKlCmMHj2a7OxsTj311Prjm36fX/3qV9xz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\n",
      "text/plain": [
       "<Figure size 576x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAfEAAAFzCAYAAAAuSjCuAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Il7ecAAAACXBIWXMAAAsTAAALEwEAmpwYAABG8klEQVR4nO3deXxU5dn/8c+VsCRhDYvKDiooWwgaEUUKLlhUxNZ9rUtbHtu6tLa29ldLxaW1rXW3+tgWQetWsfrQltYVNChUQFEBgSCCBLeEfSfL9fvjnIRJyDIhmUwy832/XvPKnGXOXHOyXLnvc5/rNndHREREmp+UeAcgIiIiB0ZJXEREpJlSEhcREWmmlMRFRESaKSVxERGRZkpJXEREpJlqEe8A6qpLly7et2/feIchIiLSKBYtWlTo7l2r2tbsknjfvn1ZuHBhvMMQERFpFGa2trpt6k4XERFpppTERUREmiklcRERkWZKSVxERKSZUhIXERFpppTERUREmiklcRERkWZKSVxERKSZUhIXERFppmKaxM1svJmtMLNVZnZTFdv7mNlrZvaBmc0xs56xjEdERCSRxCyJm1kq8BBwGjAIuMjMBlXa7S7gcXfPAm4FfhOreERERBJNLGunjwBWuftqADN7BjgLWBaxzyDghvD5bODFGMYjIiKyH3enuNQpCR+Rz4PlUkpLobi0NFjnTnHJvn1LI5ZL3EkxGN2/yvlKGlwsk3gPYF3Ecj5wbKV93gfOBu4Dvgm0M7PO7r4hciczmwRMAujdu3fMAhYRSSZ7ikvYXVRanqhKKiWy0tKqk9t+Sa206oRWHCa1kpLSfdtKnZISr7hcKWGWlEJJaWkV2/aPqULslZJpSWmwHPk+xSWllHrF2Eu9Yc9r+7QWfHDL1xv2oNWI9yxmPwEeNLMrgDeB9UBJ5Z3c/VHgUYCcnJwGPt0iIolpb3Epn2/ZxbqNu8jftJN1m3aSv2kX6zYGX7/atieu8aUYpKYYqSlGi5SU8ufBspFiRovUcJ2F61ON1JQUUo3y17Rq0aL8Nfsdo3x9Cqkp+15TcVt4/NSI900xUlNTgq8R712+rcL7VIy9VWrjjRmPZRJfD/SKWO4Zrivn7p8RtMQxs7bAOe6+OYYxiYgkjOKSUr7YujsiSQdf88PlL7burtDKTE0xundMo1dmBmOP6EqPjhm0TWtRZUIrS54Vk2lKtQmtRWpEsktJIaWmhBm+R0qKxe/kJYhYJvEFQH8z60eQvC8ELo7cwcy6ABvdvRT4OTA1hvGIiDQrpaXOl9t2V2g952/aGSTtzTv5bPNuSiKytBl0a59Gz04ZjDysM70yM+iZmU6vTsHXQ9qn0aIRW4kSezFL4u5ebGbXAC8BqcBUd19qZrcCC919JjAW+I2ZOUF3+g9iFY+ISFPj7hRs37Nfki5b/mzzbvaWlFZ4zUHtWtOrUwZH9c7krGEVk3S3Dum0aqEknUzMvXldYs7JyfGFCxfGOwwRkVq5O5t2Fu1rPVdxXXpPccUk3blNK3qGSblyS7pHx3TSWqbG6dNIvJjZInfPqWpbvAe2iYg0a1t2VUzSFbq8N+1kx96KY3U7pLekV6d0+h/UjpOOPIiemRn06pROzzBhZ7TSn2WJnn5aRERqsGNPcUTLed/gsbIkvXV3cYX927ZuUd56Pv7wzkGSzgyTdKd02qe1jNMnkUSkJC4iSW13UUmQpMta0WE3d9nyxh17K+yf3jK1PEnn9M0s7/Iua1F3SG+JmUZdS+NQEheRhLa3uJTPNu/a71p02XJBpXulW6WmBEm5UwZDenTY77p05zatlKSlyVASF5FmrbiklM+37K62Jf3F1t1Ejt9tkWJ075hOr07pnHTEQeXXo8u+dm3bWvcvS7OhJC4iTVpJqfPVtoiCJpVGeX++peK90ikG3Tqk0zMzneMP67IvSYet60Pap5GqJC0JQklcROKq7F7p6kZ3r9+8i6KSirfCHty+Nb0yM8jpk1nezR10e2fQrWMaLVXQRJKEkriIxJS7s3HH3gpd3JULm1S+V7pL21b0zAyuSZ82tFuFe6a7615pkXJK4iJSb1t2FoUJuurBYzsr3SvdMaMlvTIzGHBwO04eeHCFJN0zM4P0VkrSItFQEheRWm3fU1zxenSlCTe2VbpXul3rFvTslEGfzm044fCuFUZ398xMp53ulRZpEEriIsKuvSWs37x/ci5b3rSzqML+6S1T6dUpaD2P6JsZkaAz6JWZQfv0FroNS6QRKImLJIE9xSV8tnn3ft3cZcuF2yvdK90ipbyLO6tnh0qDx9LppHulRZoEJXGRBFBUUsoXW6pP0l9uq3ivdMvU8F7pzAxOGXhQpZZ0Ol10r7RIs6AkLtIMlJQ6X26tPkl/vmUXEbdKl98r3atTOif077Jf1bGDda+0SEJQEhdpAkpLncLte6otDfpZpXulzeDgdmn06pTOiH6dKkyw0Sszg0M66F5pkWSgJC7SCNydDWX3SldK0Pkbd5K/eRd797tXujW9OqWT1bMjZwztVqE0aPeOabRuoduwRJKdkrhIA3J35q/eyJL1W/ZrVe8qqnivdGZGS3p1yuDIbu0YN+jg8kk3emWm06Oj7pUWkdopiYs0gB17ivn7u/lMn7eWVV9tB6BdWgt6ZWbQr0sbvjag677R3WFrum1r/fqJSP3or4hIPazdsIPH563lbwvXsW13MVk9O3D3+cM4+ciD6ZChgiYiEltK4iJ15O7MXVXItLfW8PqKr0g14/Sh3bhiVF+G9+qo+6dFpNEoiYtEqazLfNrba/i4YAdd2rbi2pP6c8mxvTm4fVq8wxORJKQkLlKLNYVBl/lzC9exbU/QZX7PBcM4fWg3jRAXkbhSEhepgruTm1fItLfXMDvsMj8jqxuXH68ucxFpOpTERSJsLxtlXt5l3lpd5iLSZCmJi7B/l/kwdZmLSDOgJC5Jq7Q0HGVeqcv8iuP7Mrx3ZrzDExGplZK4JJ3tEaPMV4dd5teFXeYHqctcRJoRJXFJGmsKdzB93hpmLMwv7zK/94JsTht6iLrMRaRZUhKXhFZa6uSuKmTaW58wZ2UBLVLCwizqMheRBBDTJG5m44H7gFTgz+5+Z6XtvYHpQMdwn5vcfVYsY5LksH1PMc8vymf6PHWZi0jiilkSN7NU4CFgHJAPLDCzme6+LGK3m4G/ufvDZjYImAX0jVVMkvg+KdzB9LfXMGNRPtv3FDOsV0fuvSCb04d2o1ULza8tIoklli3xEcAqd18NYGbPAGcBkUncgfbh8w7AZzGMRxJUZJf57BUFtEw1zhgaFmZRl7mIJLBYJvEewLqI5Xzg2Er73AK8bGbXAm2AU6o6kJlNAiYB9O7du8EDleapvMv87TWsLgy6zH94Sn8uPrY3B7VTl7mIJL54D2y7CJjm7n8ws+OAJ8xsiLuXRu7k7o8CjwLk5OR4HOKUJqRyl3l2r47cd2E2pw1Rl7mIJJdYJvH1QK+I5Z7hukjfBsYDuPs8M0sDugBfxTAuaYZKS5038wqY9vYa5oRd5hOyunP58X3J7tUx3uGJiMRFLJP4AqC/mfUjSN4XAhdX2udT4GRgmpkNBNKAghjGJM3Mtt1FPL8on8fnrWV14Q66tlOXuYhImZglcXcvNrNrgJcIbh+b6u5LzexWYKG7zwR+DPzJzH5EMMjtCndXd7moy1xEJAoxvSYe3vM9q9K6yRHPlwGjYhmDNB+lpc4beQVMV5e5iEhU4j2wTaS8y3z6vLV8EnaZ/+iUAVx0bC91mYuI1EBJXOJmdcF2Hp+3trzLfHhvdZmLiNSFkrg0qrIu82lvreGNleoyFxGpDyVxaRTbdhcxIxxlri5zEZGGoSQuMVXWZf7cwnXs2FuiLnMRkQakJC4Nrqou8zPDLvNh6jIXEWkwSuLSYCp3mR+kLnMRkZhSEpd6+7hgO4+HhVl27C3hqN4d+aG6zEVEYk5JXA5IaanzxsoCHnt7DW+uLKBVagoTsrqpy1xEpBEpiUudbN1dxIyF+Tw+bw1rNuzkoHatuWHcAC4a0Zuu7VrHOzwRkaSiJC5RWfXVdh6ft4bnI7rMbzj1CMYPPkRd5iIicaIkLtUqLXXmrPyKaW+v3ddlPqwbVxzfl6yeHeMdnohI0lMSl/1U1WX+43EDuOjY3nRpqy5zEZGmQklcylXuMj+6T6a6zEVEmjAl8SRX1mX+2FtryM0rVJe5iEgzoiSexNZv3sVlf/4vq8PCLOoyFxFpXpTEk9gL7+azunAH912YzelDu9EyVV3mIiLNiZJ4Enszr5DB3dtzVnaPeIciIiIHQE2vJLV9TzHvfbqJ0f27xjsUERE5QEriSeq/qzdQVOJ8rX+XeIciIiIHSEk8SeXmFZLWMoWj+2bGOxQRETlASuJJ6s28AkYe2pnWLVLjHYqIiBwgJfEklL9pJ6sLduh6uIhIM6cknoTm5hUCMFrXw0VEmjUl8SSUm1fIwe1b0/+gtvEORURE6kFJPMmUlDpvfVzI6P5dMbN4hyMiIvWgJJ5klqzfwuadRepKFxFJAEriSSY3rwCAEw5XEhcRae6UxJPMm3mFDOnRns6a5EREpNmLaRI3s/FmtsLMVpnZTVVsv8fMFoePlWa2OZbxJLvte4p5d61KrYqIJIqYTYBiZqnAQ8A4IB9YYGYz3X1Z2T7u/qOI/a8FhscqHoH5H2+guNQZra50EZGEEMuW+Ahglbuvdve9wDPAWTXsfxHwdAzjSXq5eQUqtSoikkBimcR7AOsilvPDdfsxsz5AP+D1GMaT9HJXFarUqohIAmkqA9suBGa4e0lVG81skpktNLOFBQUFjRxaYlCpVRGRxBPLJL4e6BWx3DNcV5ULqaEr3d0fdfccd8/p2lVJ6ECUlVrV1KMiIokjlkl8AdDfzPqZWSuCRD2z8k5mdiSQCcyLYSxJLzevkEPap3G4Sq2KiCSMmCVxdy8GrgFeAj4C/ubuS83sVjObGLHrhcAz7u6xiiXZlZQ6c1cVckL/Liq1KiKSQGJ2ixmAu88CZlVaN7nS8i2xjEHgw/Vb2LJLpVZFRBJNUxnYJjE0V6VWRUQSkpJ4ElCpVRGRxKQknuBUalVEJHEpiSe48lKruh4uIpJwlMQTXG5eAektUzm6j0qtiogkGiXxBJebV8ixh3ZSqVURkQSkJJ7A8jftZHWhSq2KiCQqJfEEplKrIiKJTUk8ganUqohIYlMST1BlpVZHq9SqiEjCUhJPUOWlVgfoeriISKKqNYmbWefGCEQaVu7KoNTqqMP07RMRSVTRtMTnm9lzZna6qV+22chVqVURkYQXTRIfADwKXAbkmdmvzWxAbMOS+ti+p5h3P1WpVRGRRFdrEvfAK+5+EfBd4HLgHTN7w8yOi3mEUmcqtSoikhxqnU88vCZ+KUFL/EvgWmAmkA08B/SLYXxyAFRqVUQkOdSaxIF5wBPAN9w9P2L9QjN7JDZhSX3k5hUyUqVWRUQSXjRJ/Ah396o2uPtvGzgeqad1G4NSq5eO7BPvUEREJMaiGdj2spl1LFsws0wzeyl2IUl9zF0VlFrV9XARkcQXTRLv6u6byxbcfRNwUMwiknrJzStQqVURkSQRTRIvMbPeZQtm1geosntd4quk1Hlr1QaVWhURSRLRXBP/BTDXzN4ADBgNTIppVHJAVGpVRCS51JrE3f0/ZnYUMDJc9UN3L4xtWHIgclcWYAYnHK7r4SIiySCaljhACfAVkAYMMjPc/c3YhSUHIjevkCHdO9CpTat4hyIiIo0gmmIv3wGuB3oCiwla5POAk2IamdTJtt1FvPvpJiZ97dB4hyIiIo0kmoFt1wPHAGvd/URgOLA5lkFJ3c1fvZHiUucE3VomIpI0okniu919N4CZtXb35cARsQ1L6kqlVkVEkk8018Tzw2IvLwKvmNkmYG0sg5K6m6tSqyIiSSea0enfDJ/eYmazgQ7Af2IaldSJSq2KiCSnGrvTzSzVzJaXLbv7G+4+0933RnNwMxtvZivMbJWZ3VTNPueb2TIzW2pmT9UtfIF9pVa/NkDXw0VEkkmNLXF3LwmTcG93/7QuBzazVOAhYByQDywws5nuvixin/7Az4FR7r7JzFTO9QDk5hXQrUMah3VVqVURkWQSzTXxTGCpmb0D7Chb6e4Ta3ndCGCVu68GMLNngLOAZRH7fBd4KKzHjrt/VYfYhaDU6ty8Qr4++BCVWhURSTLRJPFfHuCxewDrIpbzgWMr7TMAwMzeAlKBW9xd19vr4IP8zWzdXaxSqyIiSSiagW1vxPj9+wNjCYrJvGlmQyNnTQMws0mE9dp79+6N7JObV6hSqyIiSarW+8TNbJuZbQ0fu82sxMy2RnHs9UCviOWe4bpI+cBMdy9y90+AlQRJvQJ3f9Tdc9w9p2tXtTgjzVWpVRGRpFVrEnf3du7e3t3bA+nAOcAfozj2AqC/mfUzs1bAhcDMSvu8SNAKx8y6EHSvr446+iRXVmp1tKq0iYgkpWgqtpXzwIvA16PYtxi4BngJ+Aj4m7svNbNbzaxsUNxLwAYzWwbMBm509w11iSmZlZVaHd1fvRMiIskomglQzo5YTAFygN3RHNzdZwGzKq2bHPHcgRvCh9RRbl4BGa1SOapPx3iHIiIicRDN6PQzI54XA2sIbhWTOMvNK+TYfiq1KiKSrKIZnX5lYwQidbNu404+KdzBZSq1KiKStKIZnT49nAClbDnTzKbGNCqplUqtiohINAPbsiLv2w6rqw2PWUQSFZVaFRGRaJJ4ipmVT1JtZp2I7lq6xEhZqdXR/buo1KqISBKLJhn/AZhnZs+Fy+cBd8QuJKlNealV3VomIpLUohnY9riZLQROCledHTkTmTS+slKro1RqVUQkqUVzn/hIYKm7PxgutzezY939vzGPTqqUm1egUqsiIhLVNfGHge0Ry9vDdRIHQanVzSq1KiIiUSVxCyurAeDupWhgW9zMX72REpVaFRERokviq83sOjNrGT6uR5OUxI1KrYqISJlokvjVwPEE04jmA8cC341lUFK93LxCRh7aWaVWRUQkqtHpXxFMIwqAmaUDE4Dnqn2RxERZqdVvHadSq1K1oqIi8vPz2b07qjmKRKQJSUtLo2fPnrRs2TLq10R1bdvMUgmmH70IGAfMRUm80eXmBaVWNahNqpOfn0+7du3o27evCgGJNCPuzoYNG8jPz6dfv35Rv67GJG5mY4CLgdOBd4BRwKHuvrM+wcqBUalVqc3u3buVwEWaITOjc+fOFBQU1Ol11V4TN7N84DcEre5B7n4OsEsJPD5KSp23VqnUqtROPx8izdOB/O7WNLBtBtAduAA408zaAF7D/hJDKrUqIiKVVZvE3f2HQD+C2uljgRVAVzM738zUn9vIVGpVmovU1FSys7MZMmQI5513Hjt3Rt95N23aNK655po6vV/btlX/OZo8eTKvvvoqAGPHjmXhwoUAnH766WzevLna4917770VYq5t/0iR8ZeWlnL55Zdz1VVXEVFqo17WrFnDkCFDot5/+fLlZGdnM3z4cD7++GPuv/9+Bg4cyCWXXMK0adNISUnhgw8+KN9/yJAhrFmzpsZjVj4/El813mLmgdnuPokgoV8EnAWsaYTYJEJuXgFDe6jUqjR96enpLF68mCVLltCqVSseeeSRCtuLi4sbJY5bb72VU045Zb/1s2bNomPHjtW+rnKSqm3/qrg7V199NUVFRfz5z3+O2yWOF198kXPPPZf33nuPww47jD/+8Y+88sorPPnkkwD07NmTO+6o23xWSuJNSzT3iQPg7kXu/k93vwToFcOYpJKyUqsnqBUuzczo0aNZtWoVc+bMYfTo0UycOJFBgwaxe/durrzySoYOHcrw4cOZPXt2+WvWrVvH2LFj6d+/P1OmTClf/41vfIOjjz6awYMH8+ijj1Z4nx/96EcMHjyYk08+uXxg0BVXXMGMGTP2i6lv374UFhayY8cOzjjjDIYNG8aQIUN49tlnuf/++/nss8848cQTOfHEEyvsD/D444+TlZXFsGHDuOyyy6r93Ndddx0bNmzg8ccfJyUl+DPbtm1bfvGLXzBs2DBGjhzJl19+CQSt65NOOomsrCxOPvlkPv30UwC+/PJLvvnNbzJs2DCGDRvG22+/XeE9Vq9ezfDhw1mwYAGLFy9m5MiRZGVl8c1vfpNNmzYxa9Ys7r33Xh5++GFOPPFErr76alavXs1pp53GPffcA8CECRNYunQpK1as2O8zvPzyyxx33HEcddRRnHfeeWzfvn2/81NSUsIVV1zBkCFDGDp0aPlxpfEcUPlUd9/V0IFI9eZ9vEGlVqXOpvxjKcs+29qgxxzUvT2/OnNwVPsWFxfz73//m/HjxwPw7rvvsmTJEvr168cf/vAHzIwPP/yQ5cuXc+qpp7Jy5UoA3nnnHZYsWUJGRgbHHHMMZ5xxBjk5OUydOpVOnTqxa9cujjnmGM455xw6d+7Mjh07yMnJ4Z577uHWW29lypQpPPjgg7XG95///Ifu3bvzr3/9C4AtW7bQoUMH7r77bmbPnk2XLhX/aV66dCm33347b7/9Nl26dGHjxo1VHvepp55i4MCBzJkzhxYt9v2J3bFjByNHjuSOO+7gpz/9KX/605+4+eabufbaa7n88su5/PLLmTp1Ktdddx0vvvgi1113HWPGjOGFF16gpKSE7du3s2nTJgBWrFjBhRdeyLRp0xg2bBhZWVk88MADjBkzhsmTJzNlyhTuvfderr76atq2bctPfvKT8s9c9tnKutN/+tOf8utf/5rp06eXx1pYWMjtt9/Oq6++Sps2bfjtb3/L3XffzeTJkyucn0WLFrF+/XqWLFkCEPVlB2k4UbfEJX5y8wpValWajV27dpGdnU1OTg69e/fm29/+NgAjRowov/917ty5XHrppQAceeSR9OnTpzyJjxs3js6dO5Oens7ZZ5/N3LlzAbj//vvLW7Hr1q0jLy8PgJSUFC644AIALr300vL9azN06FBeeeUVfvazn5Gbm0uHDh1q3P/111/nvPPOK0/unTp1qnK/o446irVr1/LOO+9UWN+qVSsmTJgAwNFHH11+7XnevHlcfPHFAFx22WXl8b/++ut873vfA4JxBmXxFRQUcNZZZ/Hkk08ybNgwtmzZwubNmxkzZgwAl19+OW+++WZU5wDg4osvZv78+XzyySfl6+bPn8+yZcsYNWoU2dnZTJ8+nbVr1+732kMPPZTVq1dz7bXX8p///If27dtH/b7SMDSRSTMwd5VKrUrdRdtibmhl18Qra9OmTVSvr3z92MyYM2cOr776KvPmzSMjI4OxY8dWW5Uu2uvPAwYM4N1332XWrFncfPPNnHzyyUyePDmq19bkyCOP5NZbb+X888/npZdeYvDg4PvQsmXL8thSU1MPeGxAhw4d6N27N3PnzmXQoEH1jrdFixb8+Mc/5re//W35Ondn3LhxPP300zW+NjMzk/fff5+XXnqJRx55hL/97W9MnTq13jFJ9Gq6T/wfZjazukdjBpnMykqtqkqbJJLRo0eXD65auXIln376KUcccQQAr7zyChs3bmTXrl28+OKLjBo1ii1btpCZmUlGRgbLly9n/vz55ccqLS0tv/b9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cffgd27ChAnl3+/vfe97Pn36dP/ss8+8V69e/tVXX/mePXv8+OOPL//ZdHe//fbb/a677trvs1X4HQ4BC72anBhNX+2PgDlmNsfM3gBmA9dH8boFQH8z62dmrYALgQrX0s2sW8TixPAfhqSXm1dA9w5pHNY1ulmfRJoSTUWqqUgjff7550T2oJ5//vnl9e2fffZZLrjgAjp06EBaWhrf/va3+fvf/05GRkatcX/88cdkZ2czatQozjjjDE477TQg+Pkp+97MnTu3vMfkpJNOYsOGDWzdunW/Y7366qtcc801ZGdnM3HiRLZu3cr27dt59dVX+cEPflC+X2bm/mOUXnvtNRYtWsQxxxxDdnY2r732GqtXr+a///0vY8eOpWvXrrRq1ar8Z7TMQQcdxGeffVbr56xNNKPT/xPeH35kuGq5u++J4nXFZnYN8BJBK3uquy81s1sJ/quYCVxnZhOBYmAjcMUBfo6EUVZq9bQh3VRqVerntDvj8raailRTkUZKT0+v8L264IILOO+88zj77LMxM/r37w/AO++8w2uvvcaMGTN48MEHef3112t877Jr4pVF+3MWqbS0lPnz55OWllbn17o7l19++X6Tv1S+Rl/Z7t27SU9Pr/P7VRZN7fSWwP8Avwwf3w3X1crdZ7n7AHc/zN3vCNdNDhM47v5zdx/s7sPc/UR3X37gHyUxlJdaHaDr4ZK4NBVpxX0TeSrSgQMHlh8HguSbmprKbbfdVt463b59O1u2bOH000/nnnvu4f33369T/NWJ/DmbM2cOXbp0oX379vt9j0899dQKA83K/jkYN24cDz30UPn6TZs2AcE/ZEVFRUDwfZoxYwZfffUVEPxcrF27lmOPPZY33niDDRs2UFRUxHPPPVchtpUrV9bpToPqRNOd/jBwNPDH8HF0uE5ioLzU6mFK4pK4vv/971NaWsrQoUO54IILqpyKNCsri3POOYecnBzGjx9PcXExAwcO5KabbqpyKtIhQ4bw+uuvR92a/vDDD8sHI02ZMoWbb74Z2DcVadnAtjKRU5EOGzaMG264ocbjn3nmmUyePJnx48eXJ/6qPPDAAzz22GNkZWXxxBNPcN999wHBVKSzZ89m6NChHH300Sxbtq/ERtlUpPfccw8zZ85k+vTp3HjjjWRlZbF48eI69yiUTUValogipyLNysriuOOOY/ny5fudn/Xr1zN27Fiys7O59NJLq5yK9LTTTtuve/+CCy7gr3/9K+effz4A27ZtY8KECWRlZXHCCSdw9913AzBz5sx69Y7ccsstLFq0iKysLG666SamTw/GTp955pm88MIL5QPb7r//fhYuXEhWVhaDBg0qv6Pi5ptvZtOmTQwZMoRhw4aVD8CcNGkSWVlZXHLJJQwaNIjbb7+dU089laysLMaNG8fnn39Ot27duOWWWzjuuOMYNWrUfjOTvfXWW4wbN+6AP1uZWqciNbP33X1YbesaS6JPRXruw2+zt6SUmddE15oQiaSpSKUp+uY3v8nvfve78q7zZPfee+9x991388QTT+y3rcGnIgVKzOywiIMdCpTULWSJxtbdRby3TqVWRSSx3HnnnXz++efxDqPJKCws5LbbbmuQY0UzAcqNwGwzWw0Y0Ae4skHeXSqYr1KrIpKAjjjiiPIxD0KDdKOXiWZ0+mvh6PSy78CKaEanS92p1Ko0BHfXnQ0izVBtl7erUm0SN7Ozq9l0uJnh7n+v87tJjXLzCjhOpValHtLS0tiwYQOdO3dWIhdpRtydDRs21Pk2t5pa4jOAxeEDgq708vcDlMQb0KcbglKrVxzfN96hSDPWs2dP8vPzSZY5BkQSSVpaGj179qzTa2pK4mcTVFnLAv4PeNrdV9Wwv9RD7qrgj+4Juh4u9dCyZcvyqmgikvhqmgDlRXe/EBhDMGvZH8xsrpnVrYqARCV3ZaFKrYqISJ1Ec/F1N7AF2Aq0Bepel05qVFxSylsfFzK6f1ddxxQRkajVNLDtJILu9BHAq8B97p64VVbi6IP1W9imUqsiIlJHNV0TfxX4AJgLtAa+ZWbfKtvo7tfFOLakoVKrIiJyIGpK4iro0khy8wrI6tGBzDat4h2KiIg0I9UmcXef3piBJKuyUqtXjzk03qGIiEgzo6oicTZPpVZFROQAKYnHWW5egUqtiojIAVESj7O5eYUqtSoiIgek1glQzKwr8F2gb+T+7n5V7MJKDiq1KiIi9RHNVKT/B+QS3HKmecQbUFmp1dEDdD1cRETqLpoknuHuP4t5JEkod2UhPTqmc2gXlVoVEZG6i+ZC7D/N7PSYR5JkykqtnnB4F5VaFRGRAxJNEr+eIJHvNrOtZrbNzLbGOrBE936+Sq2KiEj91Nqd7u7tGiOQZJObV6BSqyIiUi+1tsQtcKmZ/TJc7mVmI2IfWmKbm1eoUqsiIlIv0XSn/xE4Drg4XN4OPBSziJJAWalVVWkTEZH6iGZ0+rHufpSZvQfg7pvMTM3HethXalVd6SIicuCiaYkXmVkq4FBe/KU0plEluLJSq8NValVEROohmiR+P/ACcJCZ3UEwv/ivYxpVgstVqVUREWkA0YxOf9LMFgEnAwZ8w90/inlkCWrthh2s3bCTK1VqVURE6qnapqCZdSp7AF8BTwNPAV+G62plZuPNbIWZrTKzm2rY7xwzczPLqesHaG5y8woBlVoVEZH6q6klvojgOnhV5cQcOLSmA4fX0R8CxgH5wAIzm+nuyyrt146goMx/6xB3szU3T6VWRUSkYVSbxN29Xz2PPQJY5e6rAczsGeAsYFml/W4DfgvcWM/3a/LKSq2eMbSbSq2KiEi9RTWyyswmmtld4WNClMfuAayLWM4P10Ue9yigl7v/q5b3n2RmC81sYUFBQZRv3/SUl1rV/eEiItIAoqnYdidBd/ey8HG9mdV7dLqZpQB3Az+ubV93f9Tdc9w9p2vX5psAy0qtHn9Y53iHIiIiCSCaYi+nA9nuXgpgZtOB94D/V8vr1gO9IpZ7huvKtAOGAHPCruVDgJlmNtHdF0YXfvOSq1KrIiLSgKK9UbljxPMOUb5mAdDfzPqFFd4uBGaWbXT3Le7exd37untfYD6QsAl86+4iFqvUqoiINKBoWuK/Ad4zs9kEI9W/Bvy8the5e7GZXQO8BKQCU919qZndCix095k1HyGxqNSqiIg0tGiKvTxtZnOAY8JVP3P3L6I5uLvPAmZVWje5mn3HRnPM5io3r4A2KrUqIiINKJqBba+5++fuPjN8fGFmrzVGcIkkN6+Q4w5TqVUREWk41bbEzSwNyAC6mFkm+4q+tKfSrWJSs7JSq1eNqu+t9yIiIvvU1J3+P8APge4E1dvKkvhW4MHYhpVYykqtnqDr4SIi0oBqqth2H3CfmV3r7g80YkwJJzevQKVWRUSkwdU0AcoxZnZIWQI3s2+Z2f+Z2f3RToAiQanVt1dtYHT/Liq1KiIiDaqmUVb/C+wFMLOvAXcCjwNbgEdjH1pieD9/C9v2qNSqiIg0vJquiae6+8bw+QXAo+7+PPC8mS2OeWQJoqzU6qjDVWpVREQaVk0t8VQzK0vyJwOvR2yLpkiMEJZa7dmRjhkqtSoiIg2rpiT+NPCGmf0fsAvIBTCzwwm61KUWW3aFpVYP16h0ERFpeDWNTr8jLOrSDXjZ3T3clAJc2xjBNXcqtSoiIrFUY7e4u8+vYt3K2IWTWFRqVUREYkk1QGNIpVZFRCSWlF1iZO2GHXy6caduLRMRkZhREo+RslKruh4uIiKxoiQeI2WlVvup1KqIiMSIkngMqNSqiIg0BiXxGHg/f7NKrYqISMwpicfAmysLVWpVRERiTkk8BuauUqlVERGJPSXxBra6YDvvfbqJMRqVLiIiMaYk3sBu++cy2rRqwWXH9Y13KCIikuCUxBvQ68u/ZPaKAq4/pT9d27WOdzgiIpLglMQbyJ7iEm79xzIO69qGb6kVLiIijUDzgjeQqXPXsGbDTh6/aoRqpYuISKNQtmkAX27dzYOv53HKwIP52gDdGy4iIo1DSbwB/PbfyykqcX45YWC8QxERkSSiJF5Pi9Zu4u/vree7X+tHn86qky4iIo1HSbweSkudW2Yu5ZD2aXx/7OHxDkdERJKMkng9PLdoHR+u38LPTz+SNq01RlBERBpXTJO4mY03sxVmtsrMbqpi+9Vm9qGZLTazuWY2KJbxNKQtu4r43X9WkNMnk4nDusc7HBERSUIxS+Jmlgo8BJwGDAIuqiJJP+XuQ909G/gdcHes4mlo972ax8ade7ll4mBNNyoiInERy5b4CGCVu692973AM8BZkTu4+9aIxTaAxzCeBpP35TYen7eGC4/pzZAeHeIdjoiIJKlYXsjtAayLWM4Hjq28k5n9ALgBaAWcVNWBzGwSMAmgd+/eDR5oXbg7U/6xjIxWqfzk1AFxjUVERJJb3Ae2uftD7n4Y8DPg5mr2edTdc9w9p2vX+BZTeXnZl8xdVcgN4wbQua3qo4uISPzEMomvB3pFLPcM11XnGeAbMYyn3nYXlXD7v5Yx4OC2XDqyT7zDERGRJBfLJL4A6G9m/cysFXAhMDNyBzPrH7F4BpAXw3jq7c+5q1m3cRe3nDmYFqlx78QQEZEkF7Nr4u5ebGbXAC8BqcBUd19qZrcCC919JnCNmZ0CFAGbgMtjFU99fbZ5Fw/N/pjThhzC8Yd3iXc4IiIisZ3FzN1nAbMqrZsc8fz6WL5/Q/rNv5dT6s7/O1310UVEpGlQn3AU3vlkI/94/zOuHnMYvTplxDscERERQEm8ViWlzq9mLqV7hzSuHnNYvMMREREppyRei6ff+ZSPPt/KL84YRHqr1HiHIyIiUk5JvAabd+7lrpdXMPLQTpw+9JB4hyMiIlKBkngN7nllJVt3FfGrM1UfXUREauEOn70H7z3ZaG+p+TOrsfyLrTwxfy2XjuzDwG7t4x2OiIg0VYV58OEMWDIDNqyCVu1gyNnQMj3mb60kXgV355aZS2mf3pIbxqk+uoiIVLIlH5b8HT58Dr74ADDoewIcfx0MPLNREjgoiVfp30u+YP7qjdz+jSF0zGgV73BERKQp2LEBlr0YtLo/fTtY1+No+PpvYPA3oX23Rg9JSbySXXtLuONfHzGwW3suGhHfGdNERCTO9myD5f8KEvfq2VBaDF2OgBNvDrrMO8f31mMl8UoeeeNj1m/exd3nDyM1RYPZRESSTtFuWPVKkLhX/geKd0OH3nDcNTD0XDh4CDSRwc5K4hHyN+3kkTc+5sxh3Tn20M7xDkdERBpLSTGseRM+fB4++gfs2QIZXWD4ZTD0POh5DKQ0vRu6lMQj/HrWR6SY8fPTjox3KCIiEmvukL8gaHEv/TvsKIDW7eHICUGLu98YSG3aabJpR9eI3l5VyKwPv+DH4wbQvWPjjCoUEZE4+HLpvlvCNn8Kqa3hiPEw5Fzofyq0TIt3hFFTEgeKS0qZ8o9l9OqUzne/dmi8wxERkYa28ZMgaX/4PBR8BJYKh50IY/8fHHkGpDXPeiBK4sCT//2UFV9u438vO5q0lqqPLiKSELZ9AUtfCFrd6xcG63ofB6ffFdwS1qZLfONrAEmfxDfu2MsfXl7BCYd34dRBB8c7HBERqY9dm4KBaR/OgDW54KVwyFA4ZQoMOQc69op3hA0q6ZP4XS+vYMfeEn515iDVRxcRaY727oSV/w66yle9AiV7odOhMPonwQC1rkfEO8KYSeokvmT9Fp5+51OuPL4f/Q9uF+9wREQkWiVF8PHrQYt7+b+gaAe06wYjJgUt7u7Dm8y93LGU1Ek8f9Mu+nVpw/Wn9I93KCIiUpvS0qDc6YfPwbL/C7rO0zpC1nnByPI+x0NKco1rSuokPn7IIYwbdLAqs4mINFXu8Pni8Jawv8O2z6BlGzjy9CBxH3YStEjeOS6SOokDSuAiIk1RwcrwlrAZsPFjSGkJ/cfBkNvgiNOgVZt4R9gkJH0SFxGRJmJLPix5PkjcZdN79hsNo66HQRMhPTPeETY5SuIiIhI/OzbAsheCkeWR03uOvzO4l7vdIfGNr4lTEhcRkcYVOb3nx6+Dl0DXI+Gkm4OR5Z1UOTNaSuIiIhJ71U3vOeq6YIDawYOT4pawhqYkLiIisVE+veeMcHrPrcH0nkd9K0jcvUYocdeTkriIiDSc8uk9nwvqlpdN7znwzKCrvBlM79mc6EyKiEj9fbk0SNxLng+m92yRBgO+3iyn92xOlMRFROTAJOj0ns1JTJO4mY0H7gNSgT+7+52Vtt8AfAcoBgqAq9x9bSxjEhGRekiC6T2bk5glcTNLBR4CxgH5wAIzm+nuyyJ2ew/IcfedZvY94HfABbGKSUREDkB103uOuxUGn51w03s2J7FsiY8AVrn7agAzewY4CyhP4u4+O2L/+cClMYxHRESiVT695wzIewVKi4L7t792Y3Cdu+uAeEcoxDaJ9wDWRSznA8fWsP+3gX/HMB4REalJ8V5YPTsYoLZ81r7pPY/9n6Sa3rM5aRID28zsUiAHGFPN9knAJIDevXs3YmQiIgmutBTWvhUMUCub3jM9M6mn92xOYpnE1wORF0p6husqMLNTgF8AY9x9T1UHcvdHgUcBcnJyvOFDFRFJUO5BmdMdBbCjMPwaPt+6Hla+pOk9m7FYJvEFQH8z60eQvC8ELo7cwcyGA/8LjHf3r2IYi4hI4ijeE5GQIxNzFYl6RwGUVNk+grSOQUt76O0wYLym92yGYpbE3b3YzK4BXiK4xWyquy81s1uBhe4+E/g90BZ4zoLrLJ+6+8RYxSQi0iSVlsLuzdUn4+1fVUzae7ZUfZzU1tD2oOA2r7YHBfXI23SBNl3DR9nzgyCjs1rbCSCm18TdfRYwq9K6yRHPT4nl+4uIxM3eHdG3lHcUBjN57ceCZNumK7TtCt2zKyXjSsm5VVsNPEsyTWJgm4hIk1dSDDs3VJOMI5fDVnPRzqqP06rdvqTbsU8wd/Z+LeXwkdFJg8qkRkriIpKc3GH3lihbygWwa2PVx0lpUTEBdz6sUis5Mjl3gZbpjfs5JaEpiYtI4ijaDTvrMuBrb9XHSc/cl4APOhLajK6+Gzuto7qwJW6UxEWk6SotDe5bLu+mrqGlvKMwmK+6Ki3SgsFcbbpA20Pg4KFVD/hqGw74Sm3ZuJ9T5AApiYtI43Gv24CvnYVBne7KLCUc8BUm5u5H1TLgq41ay5KQlMSTWUkRfPEBtEiHtA7BQ3/spK5KivYf8LW9hlZz8a6qj9O6/b6k26kf9Dqm+gFf6Zka8CWCknhy2rIe3p0Oi6bD9i8qbrPUfQm9qkd6x+AaYHXbW2bon4Dmzj28ZznaAV+bqj5OSsuKCbjLgH33L1dOzhldoGVao35MkUSgJJ4sSkth9euwYGowM5E79B8HWXcELZrdW6p/FH6573l1t82USWlRwz8BHat5HvlPQLr+CYiFol01VPiqnKgLgxmrqpLeKWLA16DqW8ptugTfT30vRWJKSTzR7SiE9/4Kix6DTWuCP7CjfghHXw6Zfet+vOK9weCh3Vtg1+agxVbTPwC7t8DWz/c9r64rtUxKy2pa/zX9QxDxaJGWHImjtAR2boyupbyjEPZuq/o4LdKDIiJtukL7HtBtWDW3RnXVgC+RJkhJPBG5w6fzYeFfglmJSvZCnxPgpF/CwIn1K7XYohW06BL8cT8QxXtg99aI5L85in8C1kf8E7C75uOntqo90de0PV5duu6wd3vNA74iS2/u3ABUMReQpQRd02UVvjJzah/wJSLNVnIncfcgqSTKtbjdW+GDZ2HhVPhqGbTuAEdfCTlXBfe6NgUtWgfJpW3XA3t90e4qEv3mmv8J2Pzpvv2quy+4TGrralr+Uf4j0KL1vmMV7424Z7mWlvKOgur/QWndoWIhkd4jaxnwlXJg51ZEmp3kTuIrX4J/3QAn/wqGntd8//h9/j4s+At8OAOKdkC3bJj4AAw5J/FaWi3Tgke7g+v+WvcgUVaZ7DdXvX7XpuAyxK5we3XXisu0SIe09vvepyqprSom4K5HVpyYonKFr8h/DEREIiR3Ei/7Q/nCJHjnf+Hrv4Hex8Y7qugU7YIlfw+6zNcvCpLH0HMg59vQ46h4R9c0mQUD51qmQ7tD6v569+C81/pPwOawuEg13dit2yfHdXsRiTlzr+K6WhOWk5PjCxcubLgDlpYGXdCvTYFtn8Pgs2HcFOjYu+HeoyEV5gXd5YufDBJGlyOC7vJhFwbdwCIiklDMbJG751S1Lblb4hB0oWdfBIMmwlv3wVv3w/J/wXE/gNE3QOt28Y4wKKax/J9Bl/ma3GAE98Az4ZhvQ59RatWJiCQptcQr27I+aJV/8GxwffKkm2H4pfGpDrV5HSyaBu89Adu/hA69IecKGH5ZUDBDREQSXk0tcSXx6uQvgpd+Duv+G0yW8PU74NAxsX/f0hJY9VrQZZ73UnAddsDXg2vdh5+sUpMiIklG3ekHoufRcNVLsPQFeOVX8PhEOOIMOPW24Dafhra9AN57PGh5b/406AU44YagKEtTvT4vIiJxpSReEzMYcjYccTrMfwhy74aHjoURk2DMjcE9ufXhDmvfClrdy2YGty/1HQ2nTIEjJ9SvKIuIiCQ8dafXxbYvYfbt8O4TQQIf+3PIubLupSh3bYb3nwmSd+GKoEhI9iVBYZauA2ISuoiINE+6Jt7QvvgQXvp/8MmbwS1eX78jmEykNuvfDRL3kueDiUR6HB3cHjb4bGiVEfu4RUSk2dE18YZ2yFD41kxY8W94+WZ48lw47OQgmR80sOK+e3fCkhlB8v7svWCqzqHnBsm7+/D4xC8iIglBSfxAmcGRp8Php8CCP8Ebv4WHR8HRV8CJ/y+YoGLhVFj8NOzZEpTWPO33MOyCoPtcRESknpTE66tFq6AwzLCLYM5vgoIsi58MamentIRBZwVFWXofp6IsIiLSoJTEG0pGJzj993DMd2DeQ8Fc3cMvO/DZukRERGqhJN7Quh4BE++PdxQiIpIEmuncmyIiIqIkLiIi0kwpiYuIiDRTMU3iZjbezFaY2Sozu6mK7V8zs3fNrNjMzo1lLCIiIokmZknczFKBh4DTgEHARWY2qNJunwJXAE/FKg4REZFEFcvR6SOAVe6+GsDMngHOApaV7eDua8JtpTGMQ0REJCHFsju9B7AuYjk/XCciIiINoFkMbDOzSWa20MwWFhQUxDscERGRJiGWSXw90CtiuWe4rs7c/VF3z3H3nK5dVQFNREQEYpvEFwD9zayfmbUCLgRmxvD9REREkkrMkri7FwPXAC8BHwF/c/elZnarmU0EMLNjzCwfOA/4XzNbGqt4REREEk1Ma6e7+yxgVqV1kyOeLyDoZhcREZE6ahYD20RERGR/5u7xjqFOzKwAWBvvOBJIF6Aw3kEkIJ3XhqdzGhs6rw2voc9pH3evclR3s0vi0rDMbKG758Q7jkSj89rwdE5jQ+e14TXmOVV3uoiISDOlJC4iItJMKYnLo/EOIEHpvDY8ndPY0HlteI12TnVNXEREpJlSS1xERKSZUhJPQGY21cy+MrMlEes6mdkrZpYXfs0M15uZ3W9mq8zsAzM7KuI1l4f755nZ5fH4LE2FmfUys9lmtszMlprZ9eF6ndd6MLM0M3vHzN4Pz+uUcH0/M/tveP6eDUs3Y2atw+VV4fa+Ecf6ebh+hZl9PU4fqckws1Qze8/M/hku65zWg5mtMbMPzWyxmS0M18X/99/d9UiwB/A14ChgScS63wE3hc9vAn4bPj8d+DdgwEjgv+H6TsDq8Gtm+Dwz3p8tjue0G3BU+LwdsBIYpPNa7/NqQNvweUvgv+H5+htwYbj+EeB74fPvA4+Ezy8Eng2fDwLeB1oD/YCPgdR4f744n9sbgKeAf4bLOqf1O59rgC6V1sX9918t8QTk7m8CGyutPguYHj6fDnwjYv3jHpgPdDSzbsDXgVfcfaO7bwJeAcbHPPgmyt0/d/d3w+fbCOYD6IHOa72E52d7uNgyfDhwEjAjXF/5vJad7xnAyWZm4fpn3H2Pu38CrAJGxP4TNE1m1hM4A/hzuGzonMZC3H//lcSTx8Hu/nn4/Avg4PB5D2BdxH754brq1ie9sLtxOEGrUee1nsJu38XAVwR/1D4GNnswiRJUPEfl5y/cvgXojM5rZfcCPwVKw+XO6JzWlwMvm9kiM5sUrov7739MJ0CRpsnd3cx0W8IBMLO2wPPAD919a9BgCei8Hhh3LwGyzawj8AJwZHwjat7MbALwlbsvMrOxcQ4nkZzg7uvN7CDgFTNbHrkxXr//aoknjy/D7hzCr1+F69cDvSL26xmuq2590jKzlgQJ/El3/3u4Wue1gbj7ZmA2cBxB92NZIyPyHJWfv3B7B2ADOq+RRgETzWwN8AxBN/p96JzWi7uvD79+RfDP5giawO+/knjymAmUjYS8HPi/iPXfCkdTjgS2hN1DLwGnmllmOOLy1HBdUgqvEf4F+Mjd747YpPNaD2bWNWyBY2bpwDiC8QazgXPD3Sqf17LzfS7wugcjhmYCF4YjrfsB/YF3GuVDNDHu/nN37+nufQkGqr3u7pegc3rAzKyNmbUre07we7uEpvD7H+8Rf3o0/AN4GvgcKCK45vJtgmtcrwF5wKtAp3BfAx4iuA75IZATcZyrCAazrAKujPfnivM5PYHgmtgHwOLwcbrOa73PaxbwXnhelwCTw/WHEiSMVcBzQOtwfVq4vCrcfmjEsX4Rnu8VwGnx/mxN4QGMZd/odJ3TAz+PhxKM1H8fWAr8Ilwf999/VWwTERFpptSdLiIi0kwpiYuIiDRTSuIiIiLNlJK4iIhIM6UkLiIi0kwpiYvEiJn9woKZuT4IZz46Nlz/QzPLqMdxp5nZueHzP5vZoAaKtySMc6kFs4r92Mxq/BthZn3N7OKGeP9Kx632HJnZBAtm53rfglnl/idcf7WZfauhYxFpynSLmUgMmNlxwN3AWHffY2ZdgFbu/llYSSvH3QsP8NjTCO79nVHbvnU87nZ3bxs+P4hgBqy33P1XNbxmLPATd5/QwLGsoYpzFFbNWwuMcPd8M2sN9HX3FQ35/iLNhVriIrHRDSh09z0A7l4YJvDrgO7AbDObDWBmp5rZPDN718yeC+uzY2aTzWyBmS0xs0ctslB7yMzmmFlO+Hy7md0RtlDnm9nB4frDwuUPzex2M9te+TiVeVBachJwTVh1qq+Z5YYxvmtmx4e73gmMDlvwP6puPzPrZmZvhvstMbPR1X32qs5RhHYEcz5sCOPcU5bAzewWM/uJmXUP36fsUWJmfcLqcM+H53SBmY2K9psp0mTFuxKOHnok4gNoS1DVbSXwR2BMxLY1hPMSA12AN4E24fLP2Fe1rFPEa54AzgyfTwPODZ/PIawGRVBRrmyf3wE3h8//CVwUPr8a2F5NzPutBzYTzMyUAaSF6/oDC8PnYwkrgoXL1e33Y/ZVuUolSMY1ffbyc1RFTH8mqFH9NHAJkBKuv4WgVyBy3x8AfwufP0UwiQVAb4ISunH/WdFDj/o8NIuZSAy4+3YzOxoYDZwIPGtmN7n7tEq7jgQGAW+FDe1WwLxw24lm9lOCxNiJoNzjP2p4270ECRtgEUEdcggmFPlG+Pwp4K4D+EgtgQfNLBsoAQbUcb8FwNSwO/xFd19sZmOo/rNXy92/Y2ZDgVOAnxB8zisq7xe2tL9LUDKXcP9BER0a7c2sre+bz1yk2VESF4kRD6bYnAPMMbMPCSZImFZpNwNecfeLKqw0SyNowee4+zozu4WgxnVNity9bJBLCfX8/TazQ8PjfAX8CvgSGEZwGW53NS/7UVX7ufubZvY14AxgmpndDWyiis8eDXf/EPjQzJ4APqFSErdgRqm/ABMjknQKMNLdq4tdpNnRNXGRGDCzI8ysf8SqbIIBWQDbCLqTAeYDo8zs8PB1bcxsAPsSdmF4jfxcDtx84Jzw+YXRvMDMugKPAA+G/xh0AD5391LgMoIu8cqfher2M7M+wJfu/ieC7vCjqP6zV3XcsrjaWsU5srPZd17L9mlJMKHHz9x9ZcSml4FrI/bLjuJUiDRpSuIisdEWmB7eAvUBQbfxLeG2R4H/mNlsdy8gaEU+He43DzjSg7m1/0Qws9dLBN3RB+qHwA3h8Q8HtlSzX3o4EGwpwYxMLwNTwm1/BC43s/eBI4Ed4foPgJJwMN2PathvLPC+mb0HXADcV91nD/cvP0eVYjTgp2a2wswWh/FdUWmf44EcYErE4LbuwHVAjgW3/C0jGB8g0qzpFjORBGfB/da73N3N7EKCQW5nxTsuEak/XRMXSXxHEww2M4LR5lfFNxwRaShqiYuIiDRTuiYuIiLSTCmJi4iINFNK4iIiIs2UkriIiEgzpSQuIiLSTCmJi4iINFP/H4oUfRsrXNdMAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 576x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "names = [\"CopycatCNN\", \"KnockoffNets\"]\n",
    "for name in names:\n",
    "    fig, ax = plt.subplots(figsize=(8,6))\n",
    "    groupby.get_group(\"Probabilistic \" + name).plot(1,2,ax=ax, label=\"Probabilistic \" + name)\n",
    "    groupby.get_group(\"Probabilistic \" + name + \" (vs. Protected)\").plot(1,2,ax=ax, label=\"Probabilistic \" + name + \" (vs. Protected)\")\n",
    "    ax.set_xlabel(\"Stealing Dataset Size\")\n",
    "    ax.set_ylabel(\"Stolen Model Accuracy\")\n",
    "    fig.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Next Step: Using data augmentation can make the model stealing process much easier and faster, and can make the probabilistic attack much better."
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "ARTIST",
   "language": "python",
   "name": "artist"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.9"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
